for(i=1;A.elem[i]||B.elem[i];i++)什么意思啊
来源:百度知道 编辑:UC知道 时间:2024/05/15 00:37:19
2.12 设A=(a1,....an)和B=b1,.....bn)均为顺序表,A'和B’分别为A和B中除去最大的共同前缀的子表
(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则最大共同前缀为(x,y,y,z),在两表中除去最大共同前缀后的子表分别为A’=(x,z)和B'=(y,x,x,z))
若A’=B’=空表则A=B 否则比较两子表的首元素 若A’中的首元素大return A>B 否则B>A
答案为
int ListComp(SqList A,SqList B)//比较字符表A和B,并用返回值表示结果,值为正,表示A>B;值为负,表示A<B;值为零,表示A=B
{
for(i=1;A.elem[i]||B.elem[i];i++)
if(A.elem[i]!=B.elem[i]) return A.elem[i]-B.elem[i];
return 0;
}//ListComp
问题
A.elem[i]||B.elem[i]是什么意思 难道不应该用A.elem[i]==B.elem[i]?
答对了再补充20分
1楼的 我不知道你是不是弄清题目了 请你再仔细看看 或者仔细解释下
(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则最大共同前缀为(x,y,y,z),在两表中除去最大共同前缀后的子表分别为A’=(x,z)和B'=(y,x,x,z))
若A’=B’=空表则A=B 否则比较两子表的首元素 若A’中的首元素大return A>B 否则B>A
答案为
int ListComp(SqList A,SqList B)//比较字符表A和B,并用返回值表示结果,值为正,表示A>B;值为负,表示A<B;值为零,表示A=B
{
for(i=1;A.elem[i]||B.elem[i];i++)
if(A.elem[i]!=B.elem[i]) return A.elem[i]-B.elem[i];
return 0;
}//ListComp
问题
A.elem[i]||B.elem[i]是什么意思 难道不应该用A.elem[i]==B.elem[i]?
答对了再补充20分
1楼的 我不知道你是不是弄清题目了 请你再仔细看看 或者仔细解释下
A.elem[i]||B.elem[i] 是一个逻辑判断,表示,如果A.elem[i]为真,或者B.elem[i]为真,则逻辑表达式的结果就为真。
与别的语言一样,C#采用短路运算来提高逻辑判断的效率。比如,如果A.elem[i]为真,那么程序执行的时候就根本不会去执行B.elem[i]这一部分。因为前面为真,作为||运算,无论B.elem[i]的值是什么,表达式结果都为真。
此处不能用==,因为只要A中的当前元素与B的当前元素不一样,则for循环就退出了,明显不符合要求。使用或(||)运算,确保在A列表或者B列表的当前元素不为空的时候,执行for循环体。如果两者都为空,则表示队列已经结束了,跳出循环。
严蔚敏老师专 ... 1064K 2004-4-27
储量,结点大小见书78页的定义,"4k"为结点中字符数,"4"为指针占存储量,因此"4(k+1)" 是每个结点所占存储量,...for(i=1;A.elem[i]||B.elem[i];i++) if(A.elem[i]!=B.elem[i]) return A.elem[i]-B.elem[i];...
freeweb.nyist.net/~mayujun/1/严蔚敏老师专 ... 1064K 2004-4-27
for(i=1;A.elem[i]||B.elem[i];i++)什么意思啊
for(i=1;i<=n;i++) a[i,j])0 ;的时间复杂度是
I[ ] a cold for a week.
T.1 RESISTENZE A 3 ELEM.PIEGATIA“U”DIRITTE PER CORRENTITRIFASE 是什么意思呀
for(i=1;i<10;i++)和for(i=1;i<10;++i)是不是都一样
for ( i = 1 ; i++ < 5 ; i ++ ) i ++ ; 运行后变量i的值为?
I have to stay at school for 4 years,then I can looking for a job after 1 year.
For i=1 to 4
For I = 1 To N
For i=1 to 3